<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>01-offset系列属性</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    .father {
      /* position: relative; */
      width: 200px;
      height: 200px;
      background-color: pink;
      margin: 140px;
    }

    .son {
      width: 100px;
      height: 100px;
      background-color: purple;
      margin-left: 45px;
    }

    .w {
      height: 200px;
      background-color: skyblue;
      margin: 0 auto 100px;
      padding: 10px;
      border: 20px solid red;
    }
  </style>
</head>

<body>
  <div class="father">
    <div class="son"></div>
  </div>
  <div class="w"></div>
  <script>
    // offset 系列
    var father = document.querySelector('.father');
    var son = document.querySelector('.son');
    var w = document.querySelector('.w');

    // 1. 可以得到元素的偏移量 位置(返回不带单位)
    console.log(father.offsetTop);  // 距离顶部
    console.log(father.offsetLeft); // 距离左侧
    // offsetLeft: 根据带有定位的父亲位置为准，如果父级没有定位，以body为准
    console.log(son.offsetLeft);

    // 2. 可以获取元素的大小 宽度 与 高度
    console.log('w盒子宽度：', w.offsetWidth);
    console.log('w盒子高度：', w.offsetHeight);


    // 3. 返回带有定位的父亲，否则返回body
    // a. 需要返回定位的父亲
    console.log(son.offsetParent);
    // b. 亲爸爸
    console.log(son.parentNode);

  </script>
</body>

</html>